Simple MIMO precoding codebook design for a MIMO wireless communications system

ABSTRACT

The present invention relates to methods and apparatus for establishing a precoding codebook for a Multiple Input Multiple Output (MIMO) wireless communication system. The precoding codebook includes a plurality of codebook entries. Each codebook entry includes four sets of vectors for four respective corresponding transmission ranks. The vectors may be predetermined, or generated from source unitary matrices. In addition, the codebook is fully nested.

CLAIM OF PRIORITY

This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. §119 from a provisional application earlier filed in the U.S. Patent & Trademark Office on 26 Jun. 2007 and there duly assigned Ser. No. 60/929,396.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to methods and apparatus for establishing a precoding codebook for a Multiple Input Multiple Output (MIMO) wireless communication system.

2. Description of the Related Art

Orthogonal Frequency Division Multiplexing (OFDM) is a popular wireless communication technology to multiplex data in frequency domain.

A multiple antenna communication system, which is often referred to as multiple input multiple output (MIMO) system, is widely used in combination with OFDM technology, in a wireless communication system to improve system performance.

In a MIMO system, both transmitter and receiver are equipped with multiple antennas. Therefore, the transmitter is capable of transmitting independent data streams simultaneously in the same frequency band. Unlike traditional means of increasing throughput (i.e., the amount of data transmitted per time unit) by increasing bandwidth or increasing overall transmit power, MIMO technology increases the spectral efficiency of a wireless communication system by exploiting the additional dimension of freedom in the space domain due to multiple antennas. Therefore MIMO technology can significantly increase the throughput and range of the system.

When the transmission channels between the transmitters and the receivers are relatively constant, it is possible to use a closed-loop MIMO scheme to further improve system performance. In a closed-loop MIMO system, the receiver informs the transmitter of feedback information regarding the channel condition. The transmitter utilizes this feedback information, together with other considerations such as scheduling priority, data and resource availability, to optimize the transmission scheme.

A popular closed-loop MIMO scheme is MIMO preceding. With precoding, the data streams to be transmitted are precoded, i.e., pre-multiplied by a precoding matrix, before being passed on to the multiple transmit antennas in a transmitter.

In a contemporary closed-loop MIMO precoding scheme, when a transmitter precodes data before transmitting the data to a receiver, the transmitter informs the receiver of the precoding information such as an identification of the precoding matrix by transmitting dedicated pilots (also referred to as reference signals) or explicit control information that carries the precoding information.

A significant problem with the contemporary single user precoding codebooks is that the codebooks require either too much memory for storage or too complicated math to generate in real time.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide an improved system and an improved method for transmitting data in a multiple input multiple output (MIMO) system.

It is another object to provide an improved system and an improved method to establish a simple precoding codebook.

According to one aspect of the present invention, a codebook is established to include a plurality of codebook entries. Each codebook entry includes four sets of vectors for four respective corresponding transmission ranks. The codebook is established by:

Rank 1 Rank 2 Rank 3 Rank 4 1 V₁ V₁ V₄ V₁ V₂ V₄ V₁ V₂ V₃ V₄ 2 V₅ V₅ V₆ V₅ V₆ V₇ V₅ V₆ V₇ V₈ 3 V₃ V₃ V₄ V₃ V₄ V₁ V₁ V₄ V₃ V₂ 4 V₇ V₇ V₈ V₇ V₈ V₅ V₅ V₈ V₇ V₆ 5 V₉ V₉ V₁₂ V₉ V₁₀ V₁₂ V₉ V₁₀ V₁₁ V₁₂ 6 V₁₃ V₁₃ V₁₆ V₁₃ V₁₄ V₁₆ V₁₃ V₁₄ V₁₅ V₁₆ 7 V₁₁ V₁₁ V₉ V₁₁ V₉ V₁₀ V₁₁ V₉ V₁₂ V₁₀ 8 V₁₅ V₁₅ V₁₃ V₁₅ V₁₃ V₁₄ V₁₅ V₁₃ V₁₆ V₁₄ 9 V₂ V₂ V₁ V₂ V₁ V₃ V₂ V₁ V₄ V₃ 10 V₆ V₆ V₇ V₆ V₈ V₇ V₆ V₅ V₈ V₇ 11 V₄ V₄ V₂ V₄ V₃ V₂ V₄ V₂ V₃ V₁ 12 V₈ V₈ V₆ V₈ V₆ V₅ V₈ V₆ V₇ V₅ 13 V₁₇ V₁₇ V₁₈ V₁₇ V₁₈ V₁₉ V₁₇ V₁₈ V₁₉ V₂₀ 14 V₁₈ V₁₈ V₂₀ V₁₈ V₁₇ V₂₀ V₁₈ V₂₀ V₁₇ V₁₉ 15 V₁₉ V₁₉ V₁₇ V₁₉ V₂₀ V₁₇ V₁₇ V₂₀ V₁₉ V₁₈ 16 V₂₀ V₂₀ V₁₉ V₂₀ V₁₉ V₁₈ V₂₀ V₁₉ V₁₈ V₁₇ where V₁ through V₂₀ are certain vectors.

The vectors V₁ through V₂₀ may be respectively established by: V ₁ ^(T)=[1 1 1 1], V ₂ ^(T)=[1 1 −1 1], V ₃ ^(T)=[1 −1 1 −1], V ₄ ^(T)=[1 −1 −1 1], V ₅ ^(T)=[1 j −1 −j], V ₆ ^(T) =[−j 1 −j 1], V ₇ ^(T)=[−1 j 1 −j], V ₈ ^(T) =[j 1 j 1], V ₉ ^(T)=└1(1+j)/√{square root over (2)}j(−1+j)/√{square root over (2)}┘, V ₁₀ ^(T)=└1−j)/√{square root over (2)}1(−1−j)/√{square root over (2)}−j┘, V ₁₁ ^(T) =└−j(−1+j)/√{square root over (2)}1(−1−j)/√{square root over (2)}┘ V ₁₂ ^(T)=└(−1−j)/√{square root over (2)}j(−1+j)/√{square root over (2)}1┘, V ₁₃ ^(T)=└1(−1+j)/√{square root over (2)}−j(1+j)/√{square root over (2)}┘, V ₁₄ ^(T)=└(−1−j)/√{square root over (2)}1(1−j)/√{square root over (2)}j┘, V ₁₅ ^(T) =└j(1+j)/√{square root over (2)}1(1−j)/√{square root over (2)}┘, V ₁₆ ^(T) =└(1−j)/√{square root over (2)}−j(1+j)/√{square root over (2)}1┘, V ₁₇ ^(T)=[1 1 1 −1], V ₁₈ ^(T)=[1 1 −1 1], V ₁₉ ^(T)=[1 −1 1 1], and V ₂₀ ^(T)=[−1 1 1 1].

Alternatively, the certain vectors V₁ through V₂₀ may be established from five matrices M₁ to M₅ generated from a Householder equation and five input vectors u₁ to u₅. The five matrices M₁ to M₅ are given as:

$\begin{matrix} {{M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = {{I_{4} - {2\; u_{1}{u_{1}^{H}/{u_{1}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}},} \\ {{M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = {{I_{4} - {2\; u_{2}{u_{2}^{H}/{u_{2}}^{2}}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}},} \\ {{M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = {{I_{4} - {2\; u_{3}{u_{3}^{H}/{u_{3}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{1 + j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & {- j} \\ {- j} & \frac{{- 1} + j}{\sqrt{2}} & 1 & \frac{{- 1} - j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},} \\ {{M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = {{I_{4} - {2\; u_{4}{u_{4}^{H}/{u_{4}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{{- 1} + j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & 1 \\ j & \frac{1 + j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},} \\ {{M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {{I_{4} - {2\; u_{5}{u_{5}^{H}/{u_{5}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}},} \end{matrix}$ where the five input vectors u₁ to u₅ are: u ₁ ^(T)=[1 −1 −1 −1], u ₂ ^(T)=[1 j 1 −j], u ₃ ^(T)=└1(−1+j)/√{square root over (2)}j(1+j)/√{square root over (2)}┘, u ₄ ^(T)=└1(1+j)/√{square root over (2)}−j(−1+j)/√{square root over (2)}┘, and u ₅ ^(T)=[1 −1 −1 1].

Still alternatively, the certain vectors V₁ through V₂₀ may be established from five matrices M₁ to M₅ generated from rotating certain unitary matrices. The rotating operation is established by a rotation matrix U_(rot) given as:

$U_{rot} = {{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & {- 1} & 0 \\ 0 & 1 & 0 & {- 1} \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \end{bmatrix}}.}$ In addition, the five matrices M₁ to M₅ are established by

$\begin{matrix} {{M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}},} \\ {{M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 0 & j & 0 & {- j} \\ 0 & 1 & 0 & 1 \\ {- 1} & 0 & 1 & 0 \\ j & 0 & j & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}},} \\ {{M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = {0.5*\begin{bmatrix} 1 & {\left( {1 + j} \right)/\sqrt{2}} & j & {\left( {{- 1} + j} \right)/\sqrt{2}} \\ {\left( {1 - j} \right)/\sqrt{2}} & 1 & {\left( {1 - j} \right)/\sqrt{2}} & {- j} \\ {- j} & {\left( {{- 1} + j} \right)/\sqrt{2}} & 1 & {\left( {{- 1} - j} \right)/\sqrt{2}} \\ {\left( {{- 1} - j} \right)/\sqrt{2}} & j & {\left( {{- 1} + j} \right)/\sqrt{2}} & 1 \end{bmatrix}}}},} \\ {{M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = \begin{bmatrix} 1 & {\left( {{- 1} + j} \right)/\sqrt{2}} & {- j} & {\left( {1 + j} \right)/\sqrt{2}} \\ {\left( {{- 1} - j} \right)/\sqrt{2}} & 1 & {\left( {1 - j} \right)/\sqrt{2}} & 1 \\ j & {\left( {1 + j} \right)/\sqrt{2}} & 1 & {\left( {1 - j} \right)/\sqrt{2}} \\ {\left( {1 - j} \right)/\sqrt{2}} & {- j} & {\left( {1 + j} \right)/\sqrt{2}} & 1 \end{bmatrix}}},} \\ {M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*{\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}.}}}}} \end{matrix}$

Still alternatively, the certain vectors V₁ through V₂₀ may be established from five matrices M₁ to M₅. The five matrices M₁ to M₅ are established by:

${M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}},{M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}},{M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = \begin{bmatrix} 1 & {- j} & {- 1} & j \\ 1 & 1 & j & 1 \\ {- 1} & {- j} & 1 & j \\ {- j} & 1 & {- j} & 1 \end{bmatrix}}},{M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = \begin{bmatrix} 1 & {\left( {{- 1} - j} \right)/\sqrt{2}} & j & {\left( {1 - j} \right)/\sqrt{2}} \\ {\left( {{- 1} + j} \right)/\sqrt{2}} & 1 & {\left( {1 + j} \right)/\sqrt{2}} & {- j} \\ {- j} & {\left( {1 - j} \right)/\sqrt{2}} & 1 & {\left( {1 + j} \right)/\sqrt{2}} \\ {\left( {1 + j} \right)/\sqrt{2}} & j & {\left( {1 - j} \right)/\sqrt{2}} & 1 \end{bmatrix}}},{and}$ $M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {\begin{bmatrix} 1 & {\left( {1 - j} \right)/\sqrt{2}} & {- j} & {\left( {{- 1} - j} \right)/\sqrt{2}} \\ {\left( {1 + j} \right)/\sqrt{2}} & 1 & {\left( {{- 1} + j} \right)/\sqrt{2}} & j \\ {- j} & {\left( {1 - j} \right)/\sqrt{2}} & 1 & {\left( {1 + j} \right)/\sqrt{2}} \\ {\left( {{- 1} + j} \right)/\sqrt{2}} & {- j} & {\left( {{- 1} - j} \right)/\sqrt{2}} & 1 \end{bmatrix}.}}$

A subset of the vectors in the codebook may be phase shifted to generate a new codebook:

Rank 1 Rank 2 Rank 3 Rank 4 1 V₁ V₁ V₄ V₁ V₂ V₄ V₁ V₂ V₃ V₄ 2 V₅ V₅ V₆ V₅ V₆ V₇ V₅ V₆ V₇ V₈ 3 V₃ V₃ −V₄ V₃ −V₄ V₁ V₁ −V₄ V₃ −V₂ 4 V₇ −V₇ V₈ −V₇ V₈ −V₅ −V₅ V₈ −V₇ V₆ 5 V₉ V₉ V₁₂ V₉ V₁₀ V₁₂ V₉ V₁₀ V₁₁ V₁₂ 6 V₁₃ V₁₃ V₁₆ V₁₃ V₁₄ V₁₆ V₁₃ V₁₄ V₁₅ V₁₆ 7 V₁₁ −jV₁₁ jV₉ −jV₁₁ jV₉ −jV₁₀ −jV₁₁ jV₉ jV₁₂ −jV₁₀ 8 V₁₅ jV₁₅ −jV₁₃ jV₁₅ −jV₁₃ jV₁₄ jV₁₅ −jV₁₃ −jV₁₆ jV₁₄ 9 V₂ V₂ V₁ V₂ V₁ −V₃ V₂ V₁ −V₄ −V₃ 10 V₆ −jV₆ −jV₇ −jV₆ jV₈ −jV₇ −jV₆ jV₅ jV₈ −jV₇ 11 V₄ V₄ −V₂ V₄ −V₃ −V₂ V₄ −V₂ −V₃ V₁ 12 V₈ jV₈ −jV₆ jV₈ −jV₆ −jV₅ jV₈ −jV₆ jV₇ −jV₅ 13 V₁₇ V₁₇ V₁₈ V₁₇ V₁₈ V₁₉ V₁₇ V₁₈ V₁₉ V₂₀ 14 V₁₈ V₁₈ V₂₀ V₁₈ V₁₇ V₂₀ V₁₈ V₂₀ V₁₇ V₁₉ 15 V₁₉ V₁₉ V₁₇ V₁₉ V₂₀ V₁₇ V₁₇ V₂₀ V₁₉ V₁₈ 16 V₂₀ −V₂₀ −V₁₉ −V₂₀ −V₁₉ −V₁₈ −V₂₀ −V₁₉ −V₁₈ −V₁₇

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention, and many of the attendant advantages thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:

FIG. 1 schematically illustrates an Orthogonal Frequency Division Multiplexing (OFDM) transceiver chain;

FIG. 2 schematically illustrates a Multiple Input Multiple Output (MIMO) transceiver chain;

FIG. 3 schematically illustrates a single codeword MIMO transmission scheme;

FIG. 4 schematically illustrates a multiple codeword MIMO transmission scheme;

FIG. 5 schematically illustrates a multiple codeword MIMO transmission scheme for two transmission layers;

FIG. 6 schematically illustrates a multiple codeword MIMO transmission scheme for three transmission layers;

FIG. 7 schematically illustrates a multiple codeword MIMO transmission scheme for four transmission layers;

FIG. 8 schematically illustrates an example of a single user MIMO system;

FIG. 9 schematically illustrates an example of a multiple-user MIMO system; and

FIG. 10 schematically illustrates a feedback-based MIMO precoding and decoding system.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates an Orthogonal Frequency Division Multiplexing (OFDM) transceiver chain. In a communication system using OFDM technology, at transmitter chain 110, control signals or data 111 is modulated by modulator 112 and is serial-to-parallel converted by Serial/Parallel (S/P) converter 113. Inverse Fast Fourier Transform (IFFT) unit 114 is used to transfer the signal from frequency domain to time domain. Cyclic prefix (CP) or zero prefix (ZP) is added to each OFDM symbol by CP insertion unit 116 to avoid or mitigate the impact due to multipath fading. Consequently, the signal is transmitted by transmitter (Tx) front end processing unit 117, such as an antenna (not shown), or alternatively, by fixed wire or cable. At receiver chain 120, assuming perfect time and frequency synchronization are achieved, the signal received by receiver (Rx) front end processing unit 121 is processed by CP removal unit 122. Fast Fourier Transform (FFT) unit 124 transfers the received signal from time domain to frequency domain for further processing.

The total bandwidth in an OFDM system is divided into narrowband frequency units called subcarriers. The number of subcarriers is equal to the FFT/IFFT size N used in the system. In general, the number of subcarriers used for data is less than N because some subcarriers at the edge of the frequency spectrum are reserved as guard subcarriers. In general, no information is transmitted on guard subcarriers.

Multiple Input Multiple Output (MIMO) schemes use multiple transmission antennas and multiple receive antennas to improve the capacity and reliability of a wireless communication channel. A MIMO system promises linear increase in capacity with K where K is the minimum of number of transmit (M) and receive antennas (N), i.e. K=min(M,N). A simplified example of a 4×4 MIMO system is shown in FIG. 2. In this example, four different data streams are transmitted separately from four transmission antennas. The transmitted signals are received at four receive antennas. Some form of spatial signal processing is performed on the received signals in order to recover the four data streams. An example of spatial signal processing is vertical Bell Laboratories Layered Space-Time (V-BLAST) which uses the successive interference cancellation principle to recover the transmitted data streams. Other variants of MIMO schemes include schemes that perform some kind of space-time coding across the transmission antennas (e.g., diagonal Bell Laboratories Layered Space-Time (D-BLAST)) and also beamforming schemes such as Spatial Division multiple Access (SDMA).

The MIMO channel estimation consists of estimating the channel gain and phase information for links from each of the transmission antennas to each of the receive antennas. Therefore, the channel for M×N MIMO system consists of an N×M matrix:

$\begin{matrix} {H = \begin{bmatrix} h_{11} & h_{12} & \ldots & h_{1\; M} \\ h_{21} & h_{22} & \ldots & h_{2\; M} \\ \vdots & \vdots & \ldots & \vdots \\ h_{N\; 1} & h_{M\; 2} & \ldots & h_{NM} \end{bmatrix}} & (1) \end{matrix}$ where h_(ij) represents the channel gain from transmission antenna j to receive antenna i. In order to enable the estimations of the elements of the MIMO channel matrix, separate pilots are transmitted from each of the transmission antennas.

An example of single-code word MIMO scheme is given in FIG. 3. In case of single-code word MIMO transmission, a cyclic redundancy check (CRC) is added to a single information block and then coding, for example, using turbo codes and low-density parity check (LDPC) code, and modulation, for example, by quadrature phase-shift keying (QPSK) modulation scheme, are performed. The coded and modulated symbols are then demultiplexed for transmission over multiple antennas.

In case of multiple codeword MIMO transmission, shown in FIG. 4, the information block is de-multiplexed into smaller information blocks. Individual CRCs are attached to these smaller information blocks and then separate coding and modulation is performed on these smaller blocks. After modulation, these smaller blocks are respectively demultiplexed into even smaller blocks and then transmitted through corresponding antennas. It should be noted that in case of multi-code word MIMO transmissions, different modulation and coding can be used on each of the individual streams, and thus resulting in a so-called Per Antenna Rate Control (PARC) scheme. Also, multi-code word transmission allows for more efficient post-decoding interference cancellation because a CRC check can be performed on each of the code words before the code word is cancelled from the overall signal. In this way, only correctly received code words are cancelled, and thus avoiding any interference propagation in the cancellation process.

In the third Generation Partnership Project (3GPP) Long Term Evolution (LTE) systems, a maximum of two codewords are used for transmission of two, three or four MIMO layers. As shown in FIG. 5, for rank-2 or two layers transmission, codeword-1 (CW1) is transmitted from Layer-0 while CW2 is transmitted from Layer-1. For rank-3 or three layers transmission, codeword-1 (CW1) is transmitted from Layer-0 while CW2 is transmitted from Layer-1 and Layer-2. For rank-4 or four layers transmission, codeword-1 (CW1) is transmitted from Layer-0 and Layer-1 while CW2 is transmitted from Layer-2 and Layer-3.

An example of single-user (SU) MIMO system is shown in FIG. 8. In case of single-user MIMO, all the MIMO layers are transmitted to a single user. In case of multi-user (MU) MIMO system as shown in FIG. 9, however, the total MIMO layers are shared among multiple units of user equipment (UEs).

In a closed-loop MIMO precoding system, for each transmission antenna size we construct a set of preceding matrices (i.e., codewords) and let this set be known at both the Node-B (i.e., the base station) and the user equipment (UE). We call this set of matrices as the “codebook” and denote it P={(P₁, . . . , P_(L)}. Here L=2^(q) denotes the size of the codebook and q is the number of (feedback) bits needed to index the codebook. In a limited feedback precoding MIMO system illustrated in FIG. 10, once the codebook is specified for a MIMO system, the receiver observes a channel realization, selects the best precoding matrix (i.e., codeword) to be used at the moment, and feeds back the index of the codeword to the transmitter.

An example of precoding is discrete Fourier transform (DFT)-based or Fourier precoding. A Fourier matrix is a N×N square matrix with entries given by: P _(N) =e ^(j2πmn/N) m,n=0, 1 . . . (N−1)  (2)

For example, a 2×2 Fourier matrix can be expressed as:

$\begin{matrix} {P_{2} = {\begin{bmatrix} 1 & 1 \\ 1 & {\mathbb{e}}^{j\;\pi} \end{bmatrix} = {\begin{bmatrix} 1 & 1 \\ 1 & {- 1} \end{bmatrix}.}}} & (3) \end{matrix}$

Similarly, a 4×4 Fourier matrix can be expressed as:

$\begin{matrix} {P_{4} = {\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & {\mathbb{e}}^{j\;{\pi/2}} & {\mathbb{e}}^{j\;\pi} & {\mathbb{e}}^{j\; 3\;{\pi/2}} \\ 1 & {\mathbb{e}}^{j\;\pi} & {\mathbb{e}}^{j\; 2\;\pi} & {\mathbb{e}}^{j\; 3\;\pi} \\ 1 & {\mathbb{e}}^{j\; 3\;{\pi/2}} & {\mathbb{e}}^{j\; 3\;\pi} & {\mathbb{e}}^{j\; 9\;{\pi/2}} \end{bmatrix} = {\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & j & {- 1} & {- j} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- j} & {- 1} & j \end{bmatrix}.}}} & (4) \end{matrix}$

Multiple Fourier matrices can be defined by introducing a shift parameter (g/G) in the Fourier matrix. The entry of the multiple Fourier matrices is given by:

$\begin{matrix} {{P_{mn} = {{\mathbb{e}}^{j\; 2\;\pi{\frac{m}{N} \cdot {({n + \frac{g}{G}})}}}\mspace{14mu} m}},{n = 0},1,{\ldots\mspace{14mu}{\left( {N - 1} \right).}}} & (5) \end{matrix}$

A set of four 2×2 Fourier matrices can be defined by taking G=4, and g=0, 1, 2 and 3, and are written as:

$\begin{matrix} {{P_{2}^{0} = \begin{bmatrix} 1 & 1 \\ 1 & {- 1} \end{bmatrix}},{P_{2}^{1} = \begin{bmatrix} 1 & 1 \\ {\mathbb{e}}^{j\;{\pi/4}} & {- {\mathbb{e}}^{j\;{\pi/4}}} \end{bmatrix}},{P_{2}^{2} = \begin{bmatrix} 1 & 1 \\ {\mathbb{e}}^{j\;{\pi/2}} & {- {\mathbb{e}}^{j\;{\pi/2}}} \end{bmatrix}},{P_{2}^{3} = {\begin{bmatrix} 1 & 1 \\ {\mathbb{e}}^{j\; 3\;{\pi/4}} & {- {\mathbb{e}}^{j\; 3\;{\pi/4}}} \end{bmatrix}.}}} & (6) \end{matrix}$

In a first embodiment according to the principles of the present invention, we design a SU-MIMO codebook as a function of a set of input vectors. Given a set of input vectors as shown Table 1, we can generate the codebooks per rank as shown in Table 2.

TABLE 1 Basic Vectors to Generate the Codebook according to the principles of the current invention v₁ 1 1 1 1 v₂ 1 1 −1  −1  v₃ 1 −1  1 −1  v₄ 1 −1  −1  1 v₅ 1 j −1  −j v₆ −j 1 −j 1 v₇ −1  j 1 −j v₈ j 1 j 1 v₉ 1 (1 + j)/√2 j (−1 + j))/√2 v₁₀ (1 − j)/√2 1 (−1 − j)/√2 −j v₁₁ −j (−1 + j)/√2 1 (−1 − j)/√2 v₁₂ (−1 − j)/√2 j (−1 + j)/√2 1 v₁₃ 1 (−1 + j)/√2 −j (1 + j)/√2 v₁₄ (−1 − j)/√2 1 (1 − j)/√2 j v₁₅ j (1 + j)/√2 1 (1 − j)/√2 v₁₆ (1 − j)/√2 −j (1 + j)√2 1 v₁₇ 1 1 1 −1  v₁₈ 1 1 −1  1 v₁₉ 1 −1  1 1 v₂₀ −1  1 1 1

TABLE 2 Required Vectors for each Rank Codebook Rank 1 Rank 2 Rank 3 Rank 4 1 v₁ v₁ v₄ v₁ v₂ v₄ v₁ v₂ v₃ v₄ 2 v₅ v₅ v₆ v₅ v₆ v₇ v₅ v₆ v₇ v₈ 3 v₃ v₃ v₄ v₃ v₄ v₁ v₁ v₄ v₃ v₂ 4 v₇ v₇ v₈ v₇ v₈ v₅ v₅ v₈ v₇ v₆ 5 v₉ v₉ v₁₂ v₉ v₁₀ v₁₂ v₉ v₁₀ v₁₁ v₁₂ 6 v₁₃ v₁₃ v₁₆ v₁₃ v₁₄ v₁₆ v₁₃ v₁₄ v₁₅ v₁₆ 7 v₁₁ v₁₁ v₉ v₁₁ v₉ v₁₀ v₁₁ v₉ v₁₂ v₁₀ 8 v₁₅ v₁₅ v₁₃ v₁₅ v₁₃ v₁₄ v₁₅ v₁₃ v₁₆ v₁₄ 9 v₂ v₂ v₁ v₂ v₁ v₃ v₂ v₁ v₄ v₃ 10 v₆ v₆ v₇ v₆ v₈ v₇ v₆ v₅ v₈ v₇ 11 v₄ v₄ v₂ v₄ v₃ v₂ v₄ v₂ v₃ v₁ 12 v₈ v₈ v₆ v₈ v₆ v₅ v₈ v₆ v₇ v₅ 13 v₁₇ v₁₇ v₁₈ v₁₇ v₁₈ v₁₉ v₁₇ v₁₈ v₁₉ v₂₀ 14 v₁₈ v₁₈ v₂₀ v₁₈ v₁₇ v₂₀ v₁₈ v₂₀ v₁₇ v₁₉ 15 v₁₉ v₁₉ v₁₇ v₁₉ v₂₀ v₁₇ v₁₇ v₂₀ v₁₉ v₁₈ 16 v₂₀ v₂₀ v₁₉ v₂₀ v₁₉ v₁₈ v₂₀ v₁₉ v₁₈ v₁₇

In a second embodiment according to the principles of the present invention, we can apply certain phase shifts to the vectors in order to maximize the chordal distance between each pair of matrices in each rank. Chordal distance is a distance between a pair of matrices. Exemplary phase shifts are given in Table 3.

TABLE 3 Required Phase shifts (degrees) to Vectors for each Rank Codebook Rank 2 Rank 3 Rank 4 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 180 0 180 0 0 180 0 180 4 180 0 180 0 180 180 0 180 0 5 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 7 −90 90 −90 90 −90 −90 90 90 −90 8 90 −90 90 −90 90 90 −90 −90 90 9 0 0 0 0 180 0 0 180 180 10 −90 −90 −90 90 −90 −90 90 90 −90 11 0 180 0 180 180 0 180 180 0 12 90 −90 90 −90 −90 90 −90 90 −90 13 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 16 180 180 180 180 180 180 180 180 180

These two tables can be compressed into a more compact form as shown in the table below.

TABLE 4 CodeBook Matrices as a function of input vectors Rank 1 Rank 2 Rank 3 Rank 4 Matrices Matrices Matrices Matrices 1 v₁ v₁ v₄ v₁ v₂ v₄ v₁ v₂ v₃ v₄ 2 v₅ v₅ v₆ v₅ v₆ v₇ v₅ v₆ v₇ v₈ 3 v₃ v₃ −v₄ v₃ −v₄ v₁ v₁ −v₄ v₃ −v₂ 4 v₇ −v₇ v₈ −v₇ v₈ −v₅ −v₅ v₈ −v₇ v₆ 5 v₉ v₉ v₁₂ v₉ v₁₀ v₁₂ v₉ v₁₀ v₁₁ v₁₂ 6 v₁₃ v₁₃ v₁₆ v₁₃ v₁₄ v₁₆ v₁₃ v₁₄ v₁₅ v₁₆ 7 v₁₁ −jv₁₁ jv₉ −jv₁₁ jv₉ −jv₁₀ −jv₁₁ jv₉ jv₁₂ −jv₁₀ 8 v₁₅ jv₁₅ −jv₁₃ jv₁₅ −jv₁₃ jv₁₄ jv₁₅ −jv₁₃ −jv₁₆ jv₁₄ 9 v₂ v₂ v₁ v₂ v₁ −v₃ v₂ v₁ −v₄ −v₃ 10 v₆ −jv₆ −jv₇ −jv₆ jv₈ −jv₇ −jv₆ jv₅ jv₈ −jv₇ 11 v₄ v₄ −v₂ v₄ −v₃ −v₂ v₄ −v₂ −v₃ v₁ 12 v₈ jv₈ −jv₆ jv₈ −jv₆ −jv₅ jv₈ −jv₆ jv₇ −jv₅ 13 v₁₇ v₁₇ v₁₈ v₁₇ v₁₈ v₁₉ v₁₇ v₁₈ v₁₉ v₂₀ 14 v₁₈ v₁₈ v₂₀ v₁₈ v₁₇ v₂₀ v₁₈ v₂₀ v₁₇ v₁₉ 15 v₁₉ v₁₉ v₁₇ v₁₉ v₂₀ v₁₇ v₁₇ v₂₀ v₁₉ v₁₈ 16 v₂₀ −v₂₀ −v₁₉ −v₂₀ −v₁₉ −v₁₈ −v₂₀ −v₁₉ −v₁₈ −v₁₇

In a third embodiment according to the principles of the present invention, the basis vectors v₁ to v₂₀ in Table 2 and Table 4 may be generated from source unitary matrices M₁ to M₅ generated from a Householder equation and five input vectors u₁ to u₅, or any unitary rotation thereof. The input vectors u₁ to u₅ are given as: u ₁ ^(T)=[1 −1 −1 −1]  (7) u ₂ ^(T)=[1 j 1 −j]  (8) u ₃ ^(T)=└1(−1+j)/√{square root over (2)}j(1+j)/√{square root over (2)}┘  (9) u ₄ ^(T)=└1(1+j)/√{square root over (2)}−j(−1+j)/√{square root over (2)}┘  (10) u ₅ ^(T)=[1 −1 −1 1]  (11) Accordingly, the matrices M₁ to M₅ generated from the Householder equation and the input vectors u₁ to u₅ are established as:

$\begin{matrix} {M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = {{I_{4} - {2\; u_{1}{u_{1}^{H}/{u_{1}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}} & (12) \\ {M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = {{I_{4} - {2\; u_{2}{u_{2}^{H}/{u_{2}}^{2}}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}} & (13) \\ {M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = {{I_{4} - {2\; u_{3}{u_{3}^{H}/{u_{3}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{1 + j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & {- j} \\ {- j} & \frac{{- 1} + j}{\sqrt{2}} & 1 & \frac{{- 1} - j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} & 1 \end{bmatrix}}}}} & (14) \\ {M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = {{I_{4} - {2\; u_{4}{u_{4}^{H}/{u_{4}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{{- 1} + j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & 1 \\ j & \frac{1 + j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} & 1 \end{bmatrix}}}}} & (15) \\ {M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {{I_{4} - {2\; u_{5}{u_{5}^{H}/{u_{5}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}} & (16) \end{matrix}$

In addition, matrices M₁, M₂ and M₅ may be rotated to generated new matrices M₁′, M₂′ and M₅′, respectively, to be used as source matrices. The rotation operation may be established by a rotation matrix U_(rot) given as:

$\begin{matrix} {U_{rot} = {{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & {- 1} & 0 \\ 0 & 1 & 0 & {- 1} \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \end{bmatrix}}.}} & (17) \end{matrix}$ Accordingly, the rotated matrices M₁′, M₂′ and M₅′, are established as:

$\begin{matrix} {M_{1}^{\prime} = {{U_{rot}*M_{1}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}} & (18) \\ {M_{2}^{\prime} = {{U_{rot}*M_{2}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 0 & j & 0 & {- j} \\ 0 & 1 & 0 & 1 \\ {- 1} & 0 & 1 & 0 \\ j & 0 & j & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & {- 1} \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}} & (19) \\ {M_{5}^{\prime} = {{U_{rot}*M_{5}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}} & (20) \end{matrix}$

We could also use as source a combination of a DFT matrix M2 as given by Equation (13), a Walsh matrix M1 as given by Equation (12), block diagonal matrix and any unitary rotation thereof. Block diagonal matrix M_(B) refers to a class of matrices that are given by the following 4 by 4 matrix:

$\begin{matrix} {{M_{B} = \begin{bmatrix} A & \; \\ \; & B \end{bmatrix}},} & (21) \end{matrix}$ where A and B are both 2 by 2 matrices.

Given these source matrices M₁ to M₅, and M₁′, M₂′ and M₅′, we can generate the codebook as rotated column subset selections of these matrices as listed in Table 4.

One of the properties of the codebooks shown in Table 2 and 4 is that these codebook are fully nested. In other words, the rank-1 vectors are column subsets of the rank-2 matrices, the rank-2 matrices are a subset of the rank-3 matrices, and the rank-3 matrices are a subset of the rank-4 precoding matrices. The advantage of this is that when the precoded channel is calculated for a given rank, no further complex multiplications and additions are required to calculate the precoded channel of the lower ranks. In fact the lower rank precoded channels are column subsets of the higher rank precoded channels.

While the present invention has been shown and described in connection with the preferred embodiments, it will be apparent to those skilled in the art that modifications and variations can be made without departing from the spirit and scope of the invention as defined by the appended claims. 

1. A method for communication, the method comprising: establishing and broadcasting a codebook comprising a plurality of codebook entries, with each codebook entry comprising four sets of vectors for four respective corresponding transmission ranks, and the codebook being established by: Rank 1 Rank 2 Rank 3 Rank 4 1 v₁ v₁ v₄ v₁ v₂ v₄ v₁ v₂ v₃ v₄ 2 v₅ v₅ v₆ v₅ v₆ v₇ v₅ v₆ v₇ v₈ 3 v₃ v₃ −v₄ v₃ −v₄ v₁ v₁ −v₄ v₃ −v₂ 4 v₇ −v₇ v₈ −v₇ v₈ −v₅ −v₅ v₈ −v₇ v₆ 5 v₉ v₉ v₁₂ v₉ v₁₀ v₁₂ v₉ v₁₀ v₁₁ v₁₂ 6 v₁₃ v₁₃ v₁₆ v₁₃ v₁₄ v₁₆ v₁₃ v₁₄ v₁₅ v₁₆ 7 v₁₁ −jv₁₁ jv₉ −jv₁₁ jv₉ −jv₁₀ −jv₁₁ jv₉ jv₁₂ −jv₁₀ 8 v₁₅ jv₁₅ −jv₁₃ jv₁₅ −jv₁₃ jv₁₄ jv₁₅ −jv₁₃ −jv₁₆ jv₁₄ 9 v₂ v₂ v₁ v₂ v₁ −v₃ v₂ v₁ −v₄ −v₃ 10 v₆ −jv₆ −jv₇ −jv₆ jv₈ −jv₇ −jv₆ jv₅ jv₈ −jv₇ 11 v₄ v₄ −v₂ v₄ −v₃ −v₂ v₄ −v₂ −v₃ v₁ 12 v₈ jv₈ −jv₆ jv₈ −jv₆ −jv₅ jv₈ −jv₆ jv₇ −jv₅ 13 v₁₇ v₁₇ v₁₈ v₁₇ v₁₈ v₁₉ v₁₇ v₁₈ v₁₉ v₂₀ 14 v₁₈ v₁₈ v₂₀ v₁₈ v₁₇ v₂₀ v₁₈ v₂₀ v₁₇ v₁₉ 15 v₁₉ v₁₉ v₁₇ v₁₉ v₂₀ v₁₇ v₁₇ v₂₀ v₁₉ v₁₈ 16 v₂₀ −v₂₀ −v₁₉ −v₂₀ −v₁₉ −v₁₈ −v₂₀ −v₁₉ −v₁₈ −v₁₇

where v₁ through v₂₀ are certain vectors; selecting, at a first node, a codebook entry from among the plurality of codebook entries in the codebook in dependence upon a channel condition; transmitting via the first node, an index of the selected codebook entry to a second node; precoding data, at the second node, by using a codebook entry selected from the codebook in accordance with the received index; and transmitting the precoded data via the second node to the first node.
 2. The method of claim 1, comprised of the certain vectors v₁ through v₂₀ are respectively established by: v ₁ ^(T)=[1 1 1 1], v ₂ ^(T)=[1 1 −1 1], v ₃ ^(T)=[1 −1 1 −1], v ₄ ^(T)=[1 −1 −1 1], v ₅ ^(T)=[1 j −1 −j], v ₆ ^(T) =[−j 1 −j 1], v ₇ ^(T)=[−1 j 1 −j], v ₈ ^(T) =[j 1 j 1], v ₉ ^(T)=└1(1(1+j)/2j(−1+j)/√{square root over (2)}┘, v ₁₀ ^(T)=└1(1−j)/√{square root over (2)}1(−1−j)/√{square root over (2)}−j┘, v ₁₁ ^(T) =└−j(−1+j)/√{square root over (2)}1(−1−j)/√{square root over (2)}┘ v ₁₂ ^(T)=└(−1−j)/√{square root over (2)}j(−1+j)/√{square root over (2)}1┘, v ₁₃ ^(T)=└(−1+j)/√{square root over (2)}−j(1+j)/√{square root over (2)}1┘, v ₁₄ ^(T)=└(−1−j)/√{square root over (2)}1(1−j)/√{square root over (2)}j┘, v ₁₅ ^(T) =└j(1+j)/√{square root over (2)}1(1−j)/√{square root over (2)}┘, v ₁₆ ^(T)=└(1−j)/√{square root over (2)}−j(1+j)/√{square root over (2)}1┘, v ₁₇ ^(T)=[1 1 1 −1], v ₁₈ ^(T)=[1 −1 1], v ₁₉ ^(T)=[1 −1 1 1], and v ₂₀ ^(T)=[−1 1 1 1].
 3. The method of claim 1, comprised of the vectors v₁ through v₂₀ being established from five matrices M₁ to M₅ generated from a Householder equation and five input vectors u₁ to u₅, with the five matrices M₁ to M₅ being established by: ${M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = {{I_{4} - {2u_{1}{u_{1}^{H}/{u_{1}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}},{M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = {{I_{4} - {2u_{2}{u_{2}^{H}/{u_{2}}^{2}}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}},{M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = {{I_{4} - {2u_{3}{u_{3}^{H}/{u_{3}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{1 + j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & {- j} \\ {- j} & \frac{{- 1} + j}{\sqrt{2}} & 1 & \frac{{- 1} - j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},{M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = {{I_{4} - {2u_{4}{u_{4}^{H}/{u_{4}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{{- 1} + j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & 1 \\ j & \frac{1 + j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},{M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {{I_{4} - {2u_{5}{u_{5}^{H}/{u_{5}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}},$ where the five input vectors u₁ to u₅ are: u ₁ ^(T)=[1 −1 −1 −1], u ₂ ^(T)=[1 j 1 −j], u ₃ ^(T)=└1(−1+j)/√{square root over (2)}j(1+j)/√{square root over (2)}┘, u ₄ ^(T)=└1(−1+j)/√{square root over (2)}−j(−1+j)/√{square root over (2)}┘, u ₅ ^(T)=[1 −1 −1 1]
 4. The method of claim 3, comprised of the matrices M₁, M₂ and M₅ being rotated to generate new unitary matrices M₁′, M₂′ and M₅′, with the rotating operation being established by a rotation matrix U_(rot) give as: ${U_{rot} = {\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & {- 1} & 0 \\ 0 & 1 & 0 & {- 1} \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \end{bmatrix}}},$ and with the new unitary matrices M₁′, M₂′ and M₅′ being established by: $\begin{matrix} {M_{1}^{\prime} = {{U_{rot}*M_{1}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}} \\ {M_{2}^{\prime} = {{U_{rot}*M_{2}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 0 & j & 0 & {- j} \\ 0 & 1 & 0 & 1 \\ {- 1} & 0 & 1 & 0 \\ j & 0 & j & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & {- 1} \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}} \\ {M_{5}^{\prime} = {{U_{rot}*M_{5}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}} \end{matrix}$
 5. The method of claim 1, comprised of the vectors v₁ through v₂₀ being established from a combination of a discrete Fourier transform (DFT) matrix, a Walsh matrix, a block diagonal matrix, and any unitary rotation of the discrete Fourier transform (DFT) matrix, the Walsh matrix, the block diagonal matrix, with: the discrete Fourier transform (DFT) matrix being established by: ${M_{DFT} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & {- 1} \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}};$ the Walsh matrix being established by: ${M_{Walsh} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}};{and}$ the block diagonal matrix M_(B) being established by: ${M_{B} = \begin{bmatrix} A & \; \\ \; & B \end{bmatrix}},$ where A and B are both 2×2 matrices.
 6. A wireless terminal in a communication network, with the wireless terminal comprising a memory unit storing a codebook comprising a plurality of codebook entries, with each codebook entry comprising four sets of vectors for four respective corresponding transmission ranks, and the codebook being established by: Rank 1 Rank 2 Rank 3 Rank 4 1 v₁ v₁ v₄ v₁ v₂ v₄ v₁ v₂ v₃ v₄ 2 v₅ v₅ v₆ v₅ v₆ v₇ v₅ v₆ v₇ v₈ 3 v₃ v₃ −v₄ v₃ −v₄ v₁ v₁ −v₄ v₃ −v₂ 4 v₇ −v₇ v₈ −v₇ v₈ −v₅ −v₅ v₈ −v₇ v₆ 5 v₉ v₉ v₁₂ v₉ v₁₀ v₁₂ v₉ v₁₀ v₁₁ v₁₂ 6 v₁₃ v₁₃ v₁₆ v₁₃ v₁₄ v₁₆ v₁₃ v₁₄ v₁₅ v₁₆ 7 v₁₁ −jv₁₁ jv₉ −jv₁₁ jv₉ −jv₁₀ −jv₁₁ jv₉ jv₁₂ −jv₁₀ 8 v₁₅ jv₁₅ −jv₁₃ jv₁₅ −jv₁₃ jv₁₄ jv₁₅ −jv₁₃ −jv₁₆ jv₁₄ 9 v₂ v₂ v₁ v₂ v₁ −v₃ v₂ v₁ −v₄ −v₃ 10 v₆ −jv₆ −jv₇ −jv₆ jv₈ −jv₇ −jv₆ jv₅ jv₈ −jv₇ 11 v₄ v₄ −v₂ v₄ −v₃ −v₂ v₄ −v₂ −v₃ v₁ 12 v₈ jv₈ −jv₆ jv₈ −jv₆ −jv₅ jv₈ −jv₆ jv₇ −jv₅ 13 v₁₇ v₁₇ v₁₈ v₁₇ v₁₈ v₁₉ v₁₇ v₁₈ v₁₉ v₂₀ 14 v₁₈ v₁₈ v₂₀ v₁₈ v₁₇ v₂₀ v₁₈ v₂₀ v₁₇ v₁₉ 15 v₁₉ v₁₉ v₁₇ v₁₉ v₂₀ v₁₇ v₁₇ v₂₀ v₁₉ v₁₈ 16 v₂₀ −v₂₀ −v₁₉ −v₂₀ −v₁₉ −v₁₈ −v₂₀ −v₁₉ −v₁₈ −v₁₇

where v₁ through v₂₀ are certain vectors.
 7. The wireless terminal of claim 6, comprised of the certain vectors v₁ through v₂₀ are respectively established by: v ₁ ^(T)[1 1 1 1], v ₂ ^(T)=[1 1 −1 1], v ₃ ^(T)=[1 −1 1 −1], v ₄ ^(T)=[1 −1 −1 1], v ₅ ^(T)=[1 j −1 −j], v ₆ ^(T) =[−j 1 −j 1], v ₇ ^(T)=[−1 j 1 −j], v ₈ ^(T) =[j 1 j 1], v ₉ ^(T)=└1(1+j)/√{square root over (2)}(−1+j)/√{square root over (2)}┘, v ₁₀ ^(T)=└(1−j)/√{square root over (2)}1(−1−j)/√{square root over (2)}−j┘, v ₁₁ ^(T) =└−j(−1+j)/√{square root over (2)}1(−1−j)/√{square root over (2)}┘ v ₁₂ ^(T)=└(−1−j)/√{square root over (2)}j(−1+j)/√{square root over (2)}1 ┘, v ₁₃ ^(T)=└1(−1+j)/√{square root over (2)}−j(1+j)/√{square root over (2)}, ┘, v ₁₄ ^(T)=└(−1−j)/√{square root over (2)}1(1−j)/√{square root over (2)}j┘, v ₁₅ ^(T) =└j(1+j)/√{square root over (2)}1(1−j)/√{square root over (2)}┘, v ₁₆ ^(T) =└j(1−j)/√{square root over (2)}−j(1+j)/√{square root over (2)}1┘, v ₁₇ ^(T)=[1 1 1 −1], v ₁₈ ^(T)=[1 1 −1 1], v ₁₉ ^(T)=[1 −1 1 1], and v ₂₀ ^(T)=[−1 1 1 1].
 8. The wireless terminal of claim 6, comprised of the certain vectors V₁ through V₂₀ being established from five matrices M₁ to M₅ generated from a Householder equation and five input vectors u₁ to u₅, with the five matrices M₁ to M₅ being established by: ${M_{1} = {\begin{bmatrix} v_{1} & v_{2} & v_{3} & v_{4} \end{bmatrix} = {{I_{4} - {2u_{1}{u_{1}^{H}/{u_{1}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}},{M_{2} = {\begin{bmatrix} v_{5} & v_{6} & v_{7} & v_{8} \end{bmatrix} = {{I_{4} - {2u_{2}{u_{2}^{H}/{u_{2}}^{2}}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}},{M_{3} = {\begin{bmatrix} v_{9} & v_{10} & v_{11} & v_{12} \end{bmatrix} = {{I_{4} - {2u_{3}{u_{3}^{H}/{u_{3}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{1 + j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & {- j} \\ {- j} & \frac{{- 1} + j}{\sqrt{2}} & 1 & \frac{{- 1} - j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & j & \frac{{- 1} + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},{M_{4} = {\begin{bmatrix} v_{13} & v_{14} & v_{15} & v_{16} \end{bmatrix} = {{I_{4} - {2u_{4}{u_{4}^{H}/{u_{4}}^{2}}}} = {0.5*\begin{bmatrix} 1 & \frac{{- 1} + j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} \\ \frac{{- 1} - j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} & 1 \\ j & \frac{1 + j}{\sqrt{2}} & 1 & \frac{1 - j}{\sqrt{2}} \\ \frac{1 - j}{\sqrt{2}} & {- j} & \frac{1 + j}{\sqrt{2}} & 1 \end{bmatrix}}}}},{M_{5} = {\begin{bmatrix} v_{17} & v_{18} & v_{19} & v_{20} \end{bmatrix} = {{I_{4} - {2u_{5}{u_{5}^{H}/{u_{5}}^{2}}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}},$ where the five input vectors u₁ to u₅ are: u ₁ ^(T)=[1 −1 −1 −1], u ₂ ^(T)=[1 j 1 −j], u ₃ ^(T)=└1(−1+j)/√{square root over (2)}j(1+j)/√{square root over (2)}┘, u ₄ ^(T)=└1(1+j)/√{square root over (2)}−j(−1+j)/√{square root over (2)}┘, u ₅ ^(T)=[1 −1 −1 1].
 9. The wireless terminal of claim 8, comprised of the matrices M₁, M₂ and M₅ being rotated to generated new unitary matrices M₁′, M₂′ and M₅′ with the rotating operation being established by a rotation matrix U_(rot) give as: ${U_{rot} = {\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & {- 1} & 0 \\ 0 & 1 & 0 & {- 1} \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \end{bmatrix}}},$ and with the matrices M₁′, M₂′ and M₅′, being established by: $\begin{matrix} {M_{1}^{\prime} = {{U_{rot}*M_{1}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}}}} \\ {M_{2}^{\prime} = {{U_{rot}*M_{2}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 0 & j & 0 & {- j} \\ 0 & 1 & 0 & 1 \\ {- 1} & 0 & 1 & 0 \\ j & 0 & j & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & 1 \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}}}} \\ {M_{5}^{\prime} = {{U_{rot}*M_{5}} = {{U_{rot}*{\frac{1}{\sqrt{2}}\begin{bmatrix} 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 0 & {- 1} & 0 & 1 \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}} = {0.5*\begin{bmatrix} 1 & 1 & 1 & {- 1} \\ 1 & 1 & {- 1} & 1 \\ 1 & {- 1} & 1 & 1 \\ {- 1} & 1 & 1 & 1 \end{bmatrix}}}}} \end{matrix}$
 10. The wireless terminal of claim 6, comprised of the vectors v₁ through v₂₀ being established from a combination of a discrete Fourier transform (DFT) matrix, a Walsh matrix, a block diagonal matrix, and any unitary rotation of the discrete Fourier transform (DFT) matrix, the Walsh matrix, the block diagonal matrix, with: the discrete Fourier transform (DFT) matrix being established by: ${M_{DFT} = {0.5*\begin{bmatrix} 1 & j & {- 1} & {- j} \\ {- j} & 1 & {- j} & {- 1} \\ {- 1} & j & 1 & {- j} \\ j & 1 & j & 1 \end{bmatrix}}};$ the Walsh matrix being established by: ${M_{Walsh} = {0.5*\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & {- 1} & {- 1} \\ 1 & {- 1} & 1 & {- 1} \\ 1 & {- 1} & {- 1} & 1 \end{bmatrix}}};{and}$ the block diagonal matrix M_(B) being established by: ${M_{B} = \begin{bmatrix} A & \; \\ \; & B \end{bmatrix}},$ where A and B are both 2×2 matrices. 